package com.gjp.securitydemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 自定义登录步骤
 * 1、继承 AbstractAuthenticationProcessingFilter 编写过滤器，映射登录URL，获取登录参数，构造一个未认证的Token对象
 * 2、继承 AbstractAuthenticationToken 编写自定义令牌，编写2个构造方法，一个无权限列表(未认证)，一个有权限列表(已认证)
 * 3、实现 AuthenticationProvider 实现 authenticate,supports 方法，编写校验逻辑，判断密码，状态，查询权限列表，构造一个已认证的Token对象
 * 包含权限列表
 * 4、继承 WebSecurityConfigurerAdapter 编写web安全配置，将自定义Filter，Provider分别添加到安全框架中
 * 5、开放自定义映射的URL地址
 * 6、在自定义 MyUserDetailsService 接口中 编写一个新接口，获取自定义信息
 *
 * 参照 mobile 的写法，即可将自定义认证授权，对接到原生spring security中
 */
@SpringBootApplication
public class SecurityDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SecurityDemoApplication.class, args);
    }

}
